﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using IBatisNet.DataMapper;
using TumbaloSoft.Models;
using TumbaloSoft.Helpers.QueryObjects;


namespace TumbaloSoft.Helpers
{
    public class HelperVendedor
    {
        public static int insert(TumbaloSoft.Models.Vendedor vendedor)
        {
            Mapper.Instance().Insert("VendedorPersonaInsert", vendedor);
            Mapper.Instance().Insert("VendedorEmpleadoTumbaloInsert", vendedor);
            
            return 0;
        }
        public static void update(TumbaloSoft.Models.Vendedor vendedor)
        {
            Mapper.Instance().Update("VendedorPersonaUpdate", vendedor);
            Mapper.Instance().Update("VendedorEmpleadoTumbaloUpdate", vendedor);
        }
        public static void delete(TumbaloSoft.Models.PersonaNatural vendedor)
        {
            
            Mapper.Instance().Update("VendedorEmpleadoTumbaloDelete", vendedor);
        }
        

        static public int SiguienteCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("VendedorSiguienteCodigo", null);
        }

        public static Boolean ExistePersona(string documento)
        {
            IList l = Mapper.Instance().QueryForList("PersonaExiste", documento);
            int cant = l.Count;
            if (cant == 0) return false;
            else return true;
        }

        public static IList buscar(BusquedaVendedor vendedorBuscar)
        {

            return Mapper.Instance().QueryForList("VendedorBuscar", vendedorBuscar);
        }

        public static Vendedor selectById(int id)
        {
            IList vendedores = Mapper.Instance().QueryForList("VendedorEmpleadoTumbaloSelectById",id);
            if (vendedores.Count == 0) return null;
            Vendedor vendedor = (Vendedor)(vendedores[0]);
            return vendedor;
        }

        public static int IdPersona(int id)
        {
            int codigoPersona = Convert.ToInt32(Mapper.Instance().QueryForObject("SeleccionarIdPersona",id));
            return codigoPersona;
        }


        public static int selectCountActivos()
        {
            return (int)Mapper.Instance().QueryForObject("VendedorSelectCountActivos", null);
        }

        static public IList selectAll()
        {
            return Mapper.Instance().QueryForList("VendedorSelectAll", null);
        }

        public static int IdVendedor(int idPersona)
        {
            return (int)Mapper.Instance().QueryForObject("SeleccionarIdVendedor", idPersona);
        }


    }
}